package com.ev.asl.dto;

import com.ev.asl.domain.AssemblyDailyDO;
import com.ev.mes.vo.WorkTimeVO;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author 姚家乐
 * @since 2021/6/4 10:32
 */
@Data
public class AssemblyDaily2Dto implements Serializable {
    @ApiModelProperty(value = "自增主键")
    private Long       id;

    @ApiModelProperty(value = "日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date indicateDate;
    @ApiModelProperty(value = "日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private String indicateDate2;

    @ApiModelProperty(value = "日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date              startDate;

    @ApiModelProperty(value = "日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date              endDate;

    /**
     * 作业时间集合（Map<String,String>）
     */
    @ApiModelProperty(value = "作业时间集合,无勤时间和事项集合")
    private String     workTimeMap;

    /**
     * 作业时间集合（Map<String,String>）
     */
    @ApiModelProperty(value = "作业时间集合,无勤时间和事项集合")
    private String     workTimeMap2;

    /**
     * 作业时间集合（Map<String,String>）
     */
    @ApiModelProperty(value = "作业时间集合,无勤时间和事项集合")
    private List<WorkTimeVO> tableData;

    /**
     * 作业时间集合（Map<String,String>）
     */
    @ApiModelProperty(value = "作业时间集合,无勤时间和事项集合")
    private String tableDate2;
    /**
     * 应出勤
     */
    @ApiModelProperty(value = "应出勤")
    private Integer shouldBeAttendance;

    /**
     * 实出勤
     */
    @ApiModelProperty(value = "实出勤")
    private Integer realAttendance;

    /**
     * 特记事项
     */
    @ApiModelProperty(value = "特记事项")
    private String     specialNoteItem;

    /**
     * 编制人员id
     */
    @ApiModelProperty(value = "编制人员id")
    private Long       staffingId;

    /**
     * 编制人员姓名
     */
    @ApiModelProperty(value = "编制人员姓名")
    private String     staffingName;

    /**
     * 审查人id
     */
    @ApiModelProperty(value = "审查人id")
    private Long       auditorId;

    /**
     * 审查人姓名
     */
    @ApiModelProperty(value = "审查人姓名")
    private String     auditorName;

    /**
     * 批准人id
     */
    @ApiModelProperty(value = "批准人id")
    private Long       approverId;

    /**
     * 批准人姓名
     */
    @ApiModelProperty(value = "批准人姓名")
    private String     approverName;

    /**
     * remarks
     */
    @ApiModelProperty(value = "备注")
    private String     remarks;

    /**
     * 状态(0:未批准,1:已审查，2:已批准)
     */
    @ApiModelProperty(value = "状态(0:未批准,1:已审查，2:已批准)")
    private Integer    status;

    /**
     *  日报详情
     */
    @ApiModelProperty(value = "日报详情")
    private List<AssemblyDailyDetailDtO> dailyDetails;


    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人", hidden = true)
    private Long       createBy;
    /** 创建时间
     *
     */
    @ApiModelProperty(value = "创建时间", hidden = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       createTime;
    /** 修改人
     *
     */
    @ApiModelProperty(value = "修改人", hidden = true)
    private Long       updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间", hidden = true)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date       updateTime;
    /**
     * 删除状态(0:未删除，1：已删除)
     */
    @ApiModelProperty(value = "删除状态(0:未删除，1：已删除)", hidden = true)
    private Integer    delFlag;

    private String startTime1;
    private String startTime2;
    private String startTime3;
    private String startTime4;
    private String startTime5;
    private String startTime6;
    private String startTime7;
    private String startTime8;
    private String startTime9;
    private String startTime10;
    private String startTime11;
    private String startTime12;
    private String endTime1;
    private String endTime2;
    private String endTime3;
    private String endTime4;
    private String endTime5;
    private String endTime6;
    private String endTime7;
    private String endTime8;
    private String endTime9;
    private String endTime10;
    private String endTime11;
    private String endTime12;
    private String thing1;
    private String thing2;
    private String thing3;
    private String thing4;
    private String thing5;
    private String thing6;
    private Integer attendanceBias;
    @ApiModelProperty(value = "作业时间合计")
    private String     totalWorkTime;

    @ApiModelProperty(value = "无勤时间合计")
    private String     totalNoWorkTime;

    @ApiModelProperty(value = "合计人数")
    private Integer   totalPersonCount;

    @ApiModelProperty(value = "总的合计时间")
    private String     totalAllTime;

    @ApiModelProperty(value = "设备异常现况时间合计")
    private String     totalEquipmentAbnormalTime;
}
